package controlador;

public class ControladorPrincipal {
	
	private static ControladorPrincipal iControladorPrincipal;
	private static ControladorABMEmpresas iControladorABMEmpresas;
	private static ControladorEstadoSolicitudes iControladorEstadoSolicitudes;
	private static ControladorGeneracionComprobantes iControladorGeneracionComprobantes;
	private static ControladorReporteHistorico iControladorReporteHistorico;
	private static ControladorReporteTmRecupero iControladorReporteTmRecupero;
	private static ControladorUsuarios iControladorUsuarios;
	private ControladorTraficoNumCorto iControladorTraficoNumCorto;
	
	private ControladorPrincipal() throws Exception{
		//iControladorABMEmpresas = new ControladorABMEmpresas();
		iControladorABMEmpresas = ControladorABMEmpresas.getInstance();
		iControladorEstadoSolicitudes = new ControladorEstadoSolicitudes();
		iControladorGeneracionComprobantes = ControladorGeneracionComprobantes.getInstance();
		iControladorReporteHistorico = new ControladorReporteHistorico();
		iControladorReporteTmRecupero = new ControladorReporteTmRecupero();
		iControladorUsuarios = ControladorUsuarios.getInstance();
		iControladorTraficoNumCorto = new ControladorTraficoNumCorto();
	}
	
	public static ControladorPrincipal getInstance() throws Exception{
		if (iControladorPrincipal == null)
			iControladorPrincipal =  new ControladorPrincipal();
		return iControladorPrincipal;
	}
	
	public static ControladorPrincipal getIControladorPrincipal() {
		return iControladorPrincipal;
	}

	public static ControladorABMEmpresas getIControladorABMEmpresas() {
		return iControladorABMEmpresas;
	}

	public static ControladorEstadoSolicitudes getIControladorEstadoSolicitudes() {
		return iControladorEstadoSolicitudes;
	}

	public ControladorGeneracionComprobantes getIControladorGeneracionComprobantes() {
		return iControladorGeneracionComprobantes;
	}

	public static ControladorReporteHistorico getIControladorReporteHistorico() {
		return iControladorReporteHistorico;
	}

	public static ControladorReporteTmRecupero getIControladorReporteTmRecupero() {
		return iControladorReporteTmRecupero;
	}

	public ControladorTraficoNumCorto getIControladorTraficoNumCorto() {
		return iControladorTraficoNumCorto;
	}
	
	public ControladorUsuarios getIControladorUsuarios() {
		return iControladorUsuarios;
	}
}
